串口发送模块uart | 您所在的位置:网站首页 › uart 115200 › 串口发送模块uart |
1. 原理介绍
本文是学习小梅哥串口模块教程后的整理总结。 用于数据接收与发送的常用通信协议: UART(通用异步收发传输器)、I2C(集成电路总线)、USB2.0/3.0(通用串行总线)、SPI(串行外围总线)、Ethernet(以太网) 等。 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。 这里讲解基于RS232接口标准规范的uart_tx异串口发送模块。 发送并行数据,转为串行数据送入上位机orPC等。 UART 是异步串行通信的总称。而** RS232、 RS449、 RS423、 RS422 和 RS485 等,是对应各种异步串行通信口的接口标准和总线标准,它们具体规定了通 信口的电气特性、传输速率、连接特性和接口的机械特性**等内容。 RS232的 DB9 接口的针脚定义
需要设置数据位数、波特率、奇偶校验类型和停止位数 数据位( Data bits)该参数定义单个 UART 数据传输在开始到停止期间发送的数据位数。 可选择为: 5、 6、 7 或者 8(默认)。 波特率( Baud)是指从一设备发到另一设备的波特率,即每秒钟可以通信数据**比特(bit)**个数。 典型的波特率有 300, 1200, 2400, 9600, 19200, 115200 等,单位bit/s,也即是bps。一般通信两端设备都要设为相同的波特率,有些设备也可设置为自动检测波特率。 奇偶校验类型( Parity Type)是用来验证数据的正确性。如果用户选择数据长度为 8 位,是因为没有多余的比特可被用来作为奇偶校验位,因此就叫做“无奇偶校验( Non)”。此处不再赘述。 停止位( Stop bits):在每个字节的数据位发送完成之后,发送停止位,来标志着一次数据传输完成,同时用来帮助接受信号方硬件重同步。 可选择为: 1( 默认)、 1.5 或者 2 位。 在 RS-232 标准中, 最常用的配置是 8N1(即8数据位+无奇偶校验+1停止位), 其发送一个字节时序图如图 也可以采用在每个起始位之前添加一位传 “1’b1” 的位,用来为START_BIT的最初变化显示为下降。,以便串口接收模块识别下降沿,开始接收数据。这样也就不用在最后再添加第11个脉冲来标记传输结束了。 3.模块设计
![]() 以9600bps为例:bps_DR=[(10^9 ns)/(9600bps*20ns)]-1=5207(9600bps的分频计数最大值) 波特率时钟及计数模块代码 //baud_set reg [15:0] bps_DR;//分频计数最大值 reg bps_clk; //波特率时钟 reg [15:0]div_cnt;//分频计数器 reg [15:0]bps_DR;//分频计数最大值 reg [3:0]bps_cnt;//波特率时钟计数器 always@(posedge Clk or negedge Rst_n) if(!Rst_n) bps_DR |
CopyRight 2018-2019 实验室设备网 版权所有 |